package controlador;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;

import modelo.ModeloObrero;
import entidades.Obrero;
import entidades.Proyecto;
import entidades.Rubro;
import entidades.Tarea;
import excepciones.NoSeEncontraronObrerosException;


public class ControladorObrero {
	
	Calendar calendario = new GregorianCalendar(); 
	
	public List<Obrero> obetenerListaObreros() throws NoSeEncontraronObrerosException,Exception{
		ModeloObrero m = new ModeloObrero();
		return m.obtenerListaObreros();
	}
	
	public List<Obrero> obetenerListaObrerosPorProyecto(Proyecto p) throws NoSeEncontraronObrerosException, Exception{
		ModeloObrero m = new ModeloObrero();
		return m.obtenerListaObrerosPorProyecto(p);
	}
	
	public void altaObrero(String nombre, String apellido, String tipoDoc, String dni, 
			String nacionalidad, String genero, String cuil, String domicilio, 
			String localidad, Rubro rubro, String telefono) throws Exception{
		ModeloObrero m = new ModeloObrero();
		Obrero o = new Obrero();
		o.setNombre(nombre);
		o.setApellido(apellido);
		o.setTipoDoc(tipoDoc);
		o.setNumeroDoc(dni);
		o.setNacionalidad(nacionalidad);
		o.setGenero(genero);
		o.setCuil(cuil);
		o.setDomicilio(domicilio);
		o.setLocalidad(localidad);
		o.setFechaVinculacion(calendario.getTime());
		o.setRubro(rubro);
		o.setAccidentes(null);
		o.setEvaluaciones(null);
		o.setProyectoAsignado(null);
		o.setScoring(400);	
		o.setTelefono(telefono);
		m.altaObrero(o);
		
	}

	public void bajaObrero(Obrero o) throws Exception { 
		ModeloObrero m = new ModeloObrero();
		m.bajaObrero(o);
		
	}

	public float obtenerScoring(Obrero obreroSeleccionado) {
		ModeloObrero m = new ModeloObrero();
		return m.obtenerScoring(obreroSeleccionado);
		
	}
	
	public List<Obrero> obtenerListaObrerosDisponiblesPorRubro(Rubro rubro) throws NoSeEncontraronObrerosException,Exception{
		ModeloObrero m = new ModeloObrero();
		return m.obtenerListaObrerosDisponiblesPorRubro(rubro);
	}
	
	public List<Obrero> obtenerListaObrerosDisponiblesPorTarea(Tarea tarea) throws NoSeEncontraronObrerosException,Exception{
		ModeloObrero m = new ModeloObrero();
		return m.obtenerListaObrerosDisponiblesPorTarea(tarea);
	}
	
}
